package ar.edu.utn.frba.dds.aterrizar.domain.fechas;

import java.util.Date;

public class ComparadorDeFechas {
	
	public int diferenciaEntre(Date unaFecha, Date otraFecha) {
		return Math.abs(diferenciaEnMilisegundosEntre(unaFecha, otraFecha)/(24*60*60*1000));
	}

	public int diferenciaEnMilisegundosEntre(Date unaFecha, Date otraFecha) {
		return (int) unaFecha.getTime() - (int) otraFecha.getTime();
	}

	public Boolean sosAnteriorA(Date unaFecha, Date otraFecha) {
		return diferenciaEnMilisegundosEntre(unaFecha, otraFecha)<0;
	}
	
	public int diferenciaEntreHorasEnMinutos(String horaInicial, String horaFinal, int cantidadDeDias) {
		  String[] horaYMinutosInicial = horaInicial.split(":");
		  String[] horaYMinutosFinal = horaFinal.split(":");
		  int minutosInicial = Integer.parseInt(horaYMinutosInicial[0]) * 60 + Integer.parseInt(horaYMinutosInicial[1]);
		  int minutosFinal = Integer.parseInt(horaYMinutosFinal[0]) * 60 + Integer.parseInt(horaYMinutosFinal[1]);
		  if(cantidadDeDias == 0) {
			  return minutosFinal - minutosInicial;
		  } else {
			  int minutosDiaInicial = (24*60) - minutosInicial;
			  int minutosDiaFinal = minutosFinal;
			  return minutosDiaInicial + minutosDiaFinal + (cantidadDeDias-1)*24*60;
		  }
	}
	

}
